In general, erasable programmable read only memories (EPROMs) include arrays of special transistors, such as floating gate field effect transistors, MOS ROMs, etc., (hereinafter referred to as EPROM transistors) that can be programmed for usual memory purposes. Programming an EPROM transistor consists of storing an electrical charge at the gate of the EPROM transistor being programmed so that the EPROM transistor can not be turned on. As is well known in the art, the transistors in a memory array operate like switches with some being turned off and some being turned on to provide the predetermined output data. The programmed EPROM transistors in an EPROM are the "off" switches in this arrangement.
EPROM transistors are designed so that under normal conditions the programming, or the charge stored at the gate, will last for years. However, The programming must take place under prescribed voltage conditions and read lines, etc. must not exceed a prescribed voltage by too much. Sometimes excessive reading of the memory, fluctuating voltages, excessive voltage on the read line, etc. can drain the stored charge at the gates of EPROM transistors in the memory array and cause the data to become erroneous. Conversely, excessive current flow in EPROM transistors can cause them to become falsely programmed. It is essential that false or erroneous data be detected as early as possible.